import request from '@/config/axios'

// 检验项目 VO
export interface InspectionItemVO {
  id: number // 主键id
  itemCode: string // 项目编码
  itemName: string // 项目名称
  itemType: string // 类别
  paramType: string // 参数类型（1数值、2布尔、3文本）
  paramMax: string // 参数最大值
  paramMin: string // 参数最小值
}

export interface RecordItemVO {
  paramType: string
  paramMax: string
  paramMin: string
  value: string
}

// 检验项目 API
export const InspectionItemApi = {
  // 查询检验项目分页
  getInspectionItemPage: async (params: any) => {
    return await request.get({ url: `/opticore/inspection-item/page`, params })
  },

  // 查询检验项目详情
  getInspectionItem: async (id: number) => {
    return await request.get({ url: `/opticore/inspection-item/get?id=` + id })
  },

  // 新增检验项目
  createInspectionItem: async (data: InspectionItemVO) => {
    return await request.post({ url: `/opticore/inspection-item/create`, data })
  },

  // 修改检验项目
  updateInspectionItem: async (data: InspectionItemVO) => {
    return await request.put({ url: `/opticore/inspection-item/update`, data })
  },

  // 删除检验项目
  deleteInspectionItem: async (id: number) => {
    return await request.delete({ url: `/opticore/inspection-item/delete?id=` + id })
  },

  // 导出检验项目 Excel
  exportInspectionItem: async (params) => {
    return await request.download({ url: `/opticore/inspection-item/export-excel`, params })
  },

  //获取检验类型数组
  getInspectionTypeList: async () => {
    return await request.get({ url: `/opticore/inspection-item/type/list` })
  },

  //获取指定类型的检验条目
  getInspectionItemListByType: async (params) => {
    return await request.get({ url: `/opticore/inspection-item/list/type`, params })
  },
  // 根据检测值计算结果
  computeInspectionResult: async (data) => {
    return await request.post({ url: `/opticore/inspection-item/compute`, data })
  },
   //导出检验类型模版
    // 获取导入模板
    importInspectionTemplate: async () => {
      return await request.download({ url: `/opticore/inspection-item/get-import-template`})
    }
}
